/*
 * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors.
 * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
 */

package org.jetbrains.kotlin.analysis.low.level.api.fir;

import com.intellij.testFramework.TestDataPath;
import org.jetbrains.kotlin.test.util.KtTestUtil;
import org.jetbrains.kotlin.test.TestMetadata;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;

import java.io.File;
import java.util.regex.Pattern;

/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.analysis.api.GenerateAnalysisApiTestsKt}. DO NOT MODIFY MANUALLY */
@SuppressWarnings("all")
@TestMetadata("analysis/low-level-api-fir/testData/getOrBuildFirBinary")
@TestDataPath("$PROJECT_ROOT")
public class LibraryGetOrBuildFirTestGenerated extends AbstractLibraryGetOrBuildFirTest {
  @Test
  public void testAllFilesPresentInGetOrBuildFirBinary() {
    KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/low-level-api-fir/testData/getOrBuildFirBinary"), Pattern.compile("^(.+)\\.kt$"), null, true);
  }

  @Test
  @TestMetadata("annotatedContextParameterType.kt")
  public void testAnnotatedContextParameterType() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/annotatedContextParameterType.kt");
  }

  @Test
  @TestMetadata("annotatedProperties.kt")
  public void testAnnotatedProperties() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/annotatedProperties.kt");
  }

  @Test
  @TestMetadata("annotatedPropertiesK1.kt")
  public void testAnnotatedPropertiesK1() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/annotatedPropertiesK1.kt");
  }

  @Test
  @TestMetadata("annotatedReturnType.kt")
  public void testAnnotatedReturnType() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/annotatedReturnType.kt");
  }

  @Test
  @TestMetadata("composeAnnotation.kt")
  public void testComposeAnnotation() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/composeAnnotation.kt");
  }

  @Test
  @TestMetadata("contextParameters.kt")
  public void testContextParameters() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contextParameters.kt");
  }

  @Test
  @TestMetadata("contextParametersInTypes.kt")
  public void testContextParametersInTypes() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contextParametersInTypes.kt");
  }

  @Test
  @TestMetadata("dataClass.kt")
  public void testDataClass() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/dataClass.kt");
  }

  @Test
  @TestMetadata("delegate.kt")
  public void testDelegate() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/delegate.kt");
  }

  @Test
  @TestMetadata("dnnType.kt")
  public void testDnnType() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/dnnType.kt");
  }

  @Test
  @TestMetadata("enumEntry.kt")
  public void testEnumEntry() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/enumEntry.kt");
  }

  @Test
  @TestMetadata("functionWithDefinitelyNotNullParameter.kt")
  public void testFunctionWithDefinitelyNotNullParameter() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/functionWithDefinitelyNotNullParameter.kt");
  }

  @Test
  @TestMetadata("genericsOnNestedClasses.kt")
  public void testGenericsOnNestedClasses() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/genericsOnNestedClasses.kt");
  }

  @Test
  @TestMetadata("implicitFlexibleDnnType.kt")
  public void testImplicitFlexibleDnnType() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/implicitFlexibleDnnType.kt");
  }

  @Test
  @TestMetadata("multiFieldValueClass.kt")
  public void testMultiFieldValueClass() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/multiFieldValueClass.kt");
  }

  @Test
  @TestMetadata("multiFieldValueClassWithTypeAlias.kt")
  public void testMultiFieldValueClassWithTypeAlias() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/multiFieldValueClassWithTypeAlias.kt");
  }

  @Test
  @TestMetadata("multifileFacadeFunction.kt")
  public void testMultifileFacadeFunction() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/multifileFacadeFunction.kt");
  }

  @Test
  @TestMetadata("multifileFacadeFunctionInherit.kt")
  public void testMultifileFacadeFunctionInherit() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/multifileFacadeFunctionInherit.kt");
  }

  @Test
  @TestMetadata("multifileFacadeFunctionPart.kt")
  public void testMultifileFacadeFunctionPart() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/multifileFacadeFunctionPart.kt");
  }

  @Test
  @TestMetadata("multifileFacadeFunctionPartInherit.kt")
  public void testMultifileFacadeFunctionPartInherit() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/multifileFacadeFunctionPartInherit.kt");
  }

  @Test
  @TestMetadata("multifileFacadeInternalFunction.kt")
  public void testMultifileFacadeInternalFunction() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/multifileFacadeInternalFunction.kt");
  }

  @Test
  @TestMetadata("multifileFacadeInternalFunctionInherit.kt")
  public void testMultifileFacadeInternalFunctionInherit() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/multifileFacadeInternalFunctionInherit.kt");
  }

  @Test
  @TestMetadata("multifileFacadeInternalFunctionPart.kt")
  public void testMultifileFacadeInternalFunctionPart() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/multifileFacadeInternalFunctionPart.kt");
  }

  @Test
  @TestMetadata("multifileFacadeInternalFunctionPartInherit.kt")
  public void testMultifileFacadeInternalFunctionPartInherit() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/multifileFacadeInternalFunctionPartInherit.kt");
  }

  @Test
  @TestMetadata("multifileFacadeInternalVariable.kt")
  public void testMultifileFacadeInternalVariable() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/multifileFacadeInternalVariable.kt");
  }

  @Test
  @TestMetadata("multifileFacadeInternalVariableInherit.kt")
  public void testMultifileFacadeInternalVariableInherit() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/multifileFacadeInternalVariableInherit.kt");
  }

  @Test
  @TestMetadata("multifileFacadeInternalVariablePart.kt")
  public void testMultifileFacadeInternalVariablePart() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/multifileFacadeInternalVariablePart.kt");
  }

  @Test
  @TestMetadata("multifileFacadeInternalVariablePartInherit.kt")
  public void testMultifileFacadeInternalVariablePartInherit() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/multifileFacadeInternalVariablePartInherit.kt");
  }

  @Test
  @TestMetadata("multifileFacadePrivateFunction.kt")
  public void testMultifileFacadePrivateFunction() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/multifileFacadePrivateFunction.kt");
  }

  @Test
  @TestMetadata("multifileFacadePrivateFunctionInherit.kt")
  public void testMultifileFacadePrivateFunctionInherit() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/multifileFacadePrivateFunctionInherit.kt");
  }

  @Test
  @TestMetadata("multifileFacadePrivateFunctionPart.kt")
  public void testMultifileFacadePrivateFunctionPart() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/multifileFacadePrivateFunctionPart.kt");
  }

  @Test
  @TestMetadata("multifileFacadePrivateFunctionPartInherit.kt")
  public void testMultifileFacadePrivateFunctionPartInherit() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/multifileFacadePrivateFunctionPartInherit.kt");
  }

  @Test
  @TestMetadata("multifileFacadePrivateVariable.kt")
  public void testMultifileFacadePrivateVariable() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/multifileFacadePrivateVariable.kt");
  }

  @Test
  @TestMetadata("multifileFacadePrivateVariableInherit.kt")
  public void testMultifileFacadePrivateVariableInherit() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/multifileFacadePrivateVariableInherit.kt");
  }

  @Test
  @TestMetadata("multifileFacadePrivateVariablePart.kt")
  public void testMultifileFacadePrivateVariablePart() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/multifileFacadePrivateVariablePart.kt");
  }

  @Test
  @TestMetadata("multifileFacadePrivateVariablePartInherit.kt")
  public void testMultifileFacadePrivateVariablePartInherit() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/multifileFacadePrivateVariablePartInherit.kt");
  }

  @Test
  @TestMetadata("multifileFacadeVariable.kt")
  public void testMultifileFacadeVariable() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/multifileFacadeVariable.kt");
  }

  @Test
  @TestMetadata("multifileFacadeVariableInherit.kt")
  public void testMultifileFacadeVariableInherit() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/multifileFacadeVariableInherit.kt");
  }

  @Test
  @TestMetadata("multifileFacadeVariablePart.kt")
  public void testMultifileFacadeVariablePart() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/multifileFacadeVariablePart.kt");
  }

  @Test
  @TestMetadata("multifileFacadeVariablePartInherit.kt")
  public void testMultifileFacadeVariablePartInherit() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/multifileFacadeVariablePartInherit.kt");
  }

  @Test
  @TestMetadata("nestedTypeAlias.kt")
  public void testNestedTypeAlias() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/nestedTypeAlias.kt");
  }

  @Test
  @TestMetadata("nestedValueClass.kt")
  public void testNestedValueClass() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/nestedValueClass.kt");
  }

  @Test
  @TestMetadata("parameter.kt")
  public void testParameter() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/parameter.kt");
  }

  @Test
  @TestMetadata("parameterNullableSuspendLambda.kt")
  public void testParameterNullableSuspendLambda() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/parameterNullableSuspendLambda.kt");
  }

  @Test
  @TestMetadata("parameterSuspendLambda.kt")
  public void testParameterSuspendLambda() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/parameterSuspendLambda.kt");
  }

  @Test
  @TestMetadata("parameterizedContextParameterFunction.kt")
  public void testParameterizedContextParameterFunction() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/parameterizedContextParameterFunction.kt");
  }

  @Test
  @TestMetadata("parameterizedContextParameterProperty.kt")
  public void testParameterizedContextParameterProperty() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/parameterizedContextParameterProperty.kt");
  }

  @Test
  @TestMetadata("parameterizedContextParameterTypeFunction.kt")
  public void testParameterizedContextParameterTypeFunction() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/parameterizedContextParameterTypeFunction.kt");
  }

  @Test
  @TestMetadata("parameterizedContextParameterTypeProperty.kt")
  public void testParameterizedContextParameterTypeProperty() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/parameterizedContextParameterTypeProperty.kt");
  }

  @Test
  @TestMetadata("parameterizedSuspendFunctionType.kt")
  public void testParameterizedSuspendFunctionType() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/parameterizedSuspendFunctionType.kt");
  }

  @Test
  @TestMetadata("parameterizedSuspendFunctionTypeComplex.kt")
  public void testParameterizedSuspendFunctionTypeComplex() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/parameterizedSuspendFunctionTypeComplex.kt");
  }

  @Test
  @TestMetadata("properties.kt")
  public void testProperties() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/properties.kt");
  }

  @Test
  @TestMetadata("propertyFromAnnotation.kt")
  public void testPropertyFromAnnotation() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/propertyFromAnnotation.kt");
  }

  @Test
  @TestMetadata("propertyFromAnnotationWithDefaultValue.kt")
  public void testPropertyFromAnnotationWithDefaultValue() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/propertyFromAnnotationWithDefaultValue.kt");
  }

  @Test
  @TestMetadata("propertyFromAnnotationWithNonValueName.kt")
  public void testPropertyFromAnnotationWithNonValueName() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/propertyFromAnnotationWithNonValueName.kt");
  }

  @Test
  @TestMetadata("propertyFromAnnotationWithNonValueNameAndDefaultValue.kt")
  public void testPropertyFromAnnotationWithNonValueNameAndDefaultValue() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/propertyFromAnnotationWithNonValueNameAndDefaultValue.kt");
  }

  @Test
  @TestMetadata("secondaryConstructor.kt")
  public void testSecondaryConstructor() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/secondaryConstructor.kt");
  }

  @Test
  @TestMetadata("simpleClass.kt")
  public void testSimpleClass() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/simpleClass.kt");
  }

  @Test
  @TestMetadata("simpleConstructor.kt")
  public void testSimpleConstructor() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/simpleConstructor.kt");
  }

  @Test
  @TestMetadata("simpleFunction.kt")
  public void testSimpleFunction() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/simpleFunction.kt");
  }

  @Test
  @TestMetadata("simpleProperty.kt")
  public void testSimpleProperty() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/simpleProperty.kt");
  }

  @Test
  @TestMetadata("topLevelFunction.kt")
  public void testTopLevelFunction() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/topLevelFunction.kt");
  }

  @Test
  @TestMetadata("typeParameter.kt")
  public void testTypeParameter() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/typeParameter.kt");
  }

  @Test
  @TestMetadata("typeParameterNameClash.kt")
  public void testTypeParameterNameClash() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/typeParameterNameClash.kt");
  }

  @Test
  @TestMetadata("typealiasUnsignedConst.kt")
  public void testTypealiasUnsignedConst() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/typealiasUnsignedConst.kt");
  }

  @Test
  @TestMetadata("unsignedConst.kt")
  public void testUnsignedConst() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/unsignedConst.kt");
  }

  @Test
  @TestMetadata("valueClassWithAnotherValueClass.kt")
  public void testValueClassWithAnotherValueClass() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/valueClassWithAnotherValueClass.kt");
  }

  @Test
  @TestMetadata("valueClassWithMultiFieldValueClass.kt")
  public void testValueClassWithMultiFieldValueClass() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/valueClassWithMultiFieldValueClass.kt");
  }

  @Test
  @TestMetadata("valueClassWithNestedClass.kt")
  public void testValueClassWithNestedClass() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/valueClassWithNestedClass.kt");
  }

  @Test
  @TestMetadata("valueClassWithNullableMultiFieldValueClass.kt")
  public void testValueClassWithNullableMultiFieldValueClass() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/valueClassWithNullableMultiFieldValueClass.kt");
  }

  @Test
  @TestMetadata("valueClassWithParameterizedAlias.kt")
  public void testValueClassWithParameterizedAlias() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/valueClassWithParameterizedAlias.kt");
  }

  @Test
  @TestMetadata("valueClassWithTypeAliasOnAnotherValueClass.kt")
  public void testValueClassWithTypeAliasOnAnotherValueClass() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/valueClassWithTypeAliasOnAnotherValueClass.kt");
  }

  @Test
  @TestMetadata("varargAndFunctionalType.kt")
  public void testVarargAndFunctionalType() {
    runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/varargAndFunctionalType.kt");
  }

  @Nested
  @TestMetadata("analysis/low-level-api-fir/testData/getOrBuildFirBinary/containerSource")
  @TestDataPath("$PROJECT_ROOT")
  public class ContainerSource {
    @Test
    public void testAllFilesPresentInContainerSource() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/low-level-api-fir/testData/getOrBuildFirBinary/containerSource"), Pattern.compile("^(.+)\\.kt$"), null, true);
    }

    @Nested
    @TestMetadata("analysis/low-level-api-fir/testData/getOrBuildFirBinary/containerSource/js")
    @TestDataPath("$PROJECT_ROOT")
    public class Js {
      @Test
      public void testAllFilesPresentInJs() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/low-level-api-fir/testData/getOrBuildFirBinary/containerSource/js"), Pattern.compile("^(.+)\\.kt$"), null, true);
      }

      @Test
      @TestMetadata("memberFunction.kt")
      public void testMemberFunction() {
        runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/containerSource/js/memberFunction.kt");
      }

      @Test
      @TestMetadata("memberProperty.kt")
      public void testMemberProperty() {
        runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/containerSource/js/memberProperty.kt");
      }

      @Test
      @TestMetadata("primaryConstructor.kt")
      public void testPrimaryConstructor() {
        runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/containerSource/js/primaryConstructor.kt");
      }

      @Test
      @TestMetadata("secondaryConstructor.kt")
      public void testSecondaryConstructor() {
        runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/containerSource/js/secondaryConstructor.kt");
      }

      @Test
      @TestMetadata("topLevelFunction.kt")
      public void testTopLevelFunction() {
        runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/containerSource/js/topLevelFunction.kt");
      }

      @Test
      @TestMetadata("topLevelProperty.kt")
      public void testTopLevelProperty() {
        runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/containerSource/js/topLevelProperty.kt");
      }
    }

    @Nested
    @TestMetadata("analysis/low-level-api-fir/testData/getOrBuildFirBinary/containerSource/jvm")
    @TestDataPath("$PROJECT_ROOT")
    public class Jvm {
      @Test
      public void testAllFilesPresentInJvm() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/low-level-api-fir/testData/getOrBuildFirBinary/containerSource/jvm"), Pattern.compile("^(.+)\\.kt$"), null, true);
      }

      @Test
      @TestMetadata("memberFunction.kt")
      public void testMemberFunction() {
        runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/containerSource/jvm/memberFunction.kt");
      }

      @Test
      @TestMetadata("memberProperty.kt")
      public void testMemberProperty() {
        runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/containerSource/jvm/memberProperty.kt");
      }

      @Test
      @TestMetadata("primaryConstructor.kt")
      public void testPrimaryConstructor() {
        runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/containerSource/jvm/primaryConstructor.kt");
      }

      @Test
      @TestMetadata("secondaryConstructor.kt")
      public void testSecondaryConstructor() {
        runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/containerSource/jvm/secondaryConstructor.kt");
      }

      @Test
      @TestMetadata("topLevelFunction.kt")
      public void testTopLevelFunction() {
        runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/containerSource/jvm/topLevelFunction.kt");
      }

      @Test
      @TestMetadata("topLevelFunctionWithJvmName.kt")
      public void testTopLevelFunctionWithJvmName() {
        runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/containerSource/jvm/topLevelFunctionWithJvmName.kt");
      }

      @Test
      @TestMetadata("topLevelProperty.kt")
      public void testTopLevelProperty() {
        runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/containerSource/jvm/topLevelProperty.kt");
      }

      @Test
      @TestMetadata("topLevelPropertyWithJvmName.kt")
      public void testTopLevelPropertyWithJvmName() {
        runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/containerSource/jvm/topLevelPropertyWithJvmName.kt");
      }
    }

    @Nested
    @TestMetadata("analysis/low-level-api-fir/testData/getOrBuildFirBinary/containerSource/metadata")
    @TestDataPath("$PROJECT_ROOT")
    public class Metadata {
      @Test
      public void testAllFilesPresentInMetadata() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/low-level-api-fir/testData/getOrBuildFirBinary/containerSource/metadata"), Pattern.compile("^(.+)\\.kt$"), null, true);
      }

      @Test
      @TestMetadata("memberFunction.kt")
      public void testMemberFunction() {
        runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/containerSource/metadata/memberFunction.kt");
      }

      @Test
      @TestMetadata("memberProperty.kt")
      public void testMemberProperty() {
        runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/containerSource/metadata/memberProperty.kt");
      }

      @Test
      @TestMetadata("primaryConstructor.kt")
      public void testPrimaryConstructor() {
        runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/containerSource/metadata/primaryConstructor.kt");
      }

      @Test
      @TestMetadata("secondaryConstructor.kt")
      public void testSecondaryConstructor() {
        runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/containerSource/metadata/secondaryConstructor.kt");
      }

      @Test
      @TestMetadata("topLevelFunction.kt")
      public void testTopLevelFunction() {
        runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/containerSource/metadata/topLevelFunction.kt");
      }

      @Test
      @TestMetadata("topLevelProperty.kt")
      public void testTopLevelProperty() {
        runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/containerSource/metadata/topLevelProperty.kt");
      }
    }
  }

  @Nested
  @TestMetadata("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts")
  @TestDataPath("$PROJECT_ROOT")
  public class Contracts {
    @Test
    @TestMetadata("accessorsAllowed.kt")
    public void testAccessorsAllowed() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/accessorsAllowed.kt");
    }

    @Test
    public void testAllFilesPresentInContracts() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts"), Pattern.compile("^(.+)\\.kt$"), null, true);
    }

    @Test
    @TestMetadata("contracts.kt")
    public void testContracts() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/contracts.kt");
    }

    @Test
    @TestMetadata("contractsPropertyAccessors.kt")
    public void testContractsPropertyAccessors() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/contractsPropertyAccessors.kt");
    }

    @Test
    @TestMetadata("contractsSecondaryConstructor.kt")
    public void testContractsSecondaryConstructor() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/contractsSecondaryConstructor.kt");
    }

    @Test
    @TestMetadata("FunctionWithMultilineContract.kt")
    public void testFunctionWithMultilineContract() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/FunctionWithMultilineContract.kt");
    }

    @Test
    @TestMetadata("FunctionsWithTypeConstraintsAndContract.kt")
    public void testFunctionsWithTypeConstraintsAndContract() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/FunctionsWithTypeConstraintsAndContract.kt");
    }

    @Test
    @TestMetadata("holdsInWithContextParameters.kt")
    public void testHoldsInWithContextParameters() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/holdsInWithContextParameters.kt");
    }

    @Test
    @TestMetadata("nonKotlinContractCall2.kt")
    public void testNonKotlinContractCall2() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/nonKotlinContractCall2.kt");
    }

    @Test
    @TestMetadata("PropertyAccessorsContracts.kt")
    public void testPropertyAccessorsContracts() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/PropertyAccessorsContracts.kt");
    }

    @Test
    @TestMetadata("SimpleFunctionWithContract.kt")
    public void testSimpleFunctionWithContract() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/SimpleFunctionWithContract.kt");
    }

    @Test
    @TestMetadata("withContextParameters.kt")
    public void testWithContextParameters() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/withContextParameters.kt");
    }

    @Nested
    @TestMetadata("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/good")
    @TestDataPath("$PROJECT_ROOT")
    public class Good {
      @Test
      public void testAllFilesPresentInGood() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/good"), Pattern.compile("^(.+)\\.kt$"), null, true);
      }

      @Nested
      @TestMetadata("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/good/callsInPlace")
      @TestDataPath("$PROJECT_ROOT")
      public class CallsInPlace {
        @Test
        public void testAllFilesPresentInCallsInPlace() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/good/callsInPlace"), Pattern.compile("^(.+)\\.kt$"), null, true);
        }

        @Test
        @TestMetadata("atLeastOnce.kt")
        public void testAtLeastOnce() {
          runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/good/callsInPlace/atLeastOnce.kt");
        }

        @Test
        @TestMetadata("atMostOnce.kt")
        public void testAtMostOnce() {
          runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/good/callsInPlace/atMostOnce.kt");
        }

        @Test
        @TestMetadata("contractsUsage.kt")
        public void testContractsUsage() {
          runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/good/callsInPlace/contractsUsage.kt");
        }

        @Test
        @TestMetadata("exactlyOnce.kt")
        public void testExactlyOnce() {
          runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/good/callsInPlace/exactlyOnce.kt");
        }

        @Test
        @TestMetadata("flow.kt")
        public void testFlow() {
          runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/good/callsInPlace/flow.kt");
        }

        @Test
        @TestMetadata("inPlaceLambda.kt")
        public void testInPlaceLambda() {
          runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/good/callsInPlace/inPlaceLambda.kt");
        }

        @Test
        @TestMetadata("infiniteLoop.kt")
        public void testInfiniteLoop() {
          runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/good/callsInPlace/infiniteLoop.kt");
        }

        @Test
        @TestMetadata("namedArgument.kt")
        public void testNamedArgument() {
          runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/good/callsInPlace/namedArgument.kt");
        }

        @Test
        @TestMetadata("simple.kt")
        public void testSimple() {
          runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/good/callsInPlace/simple.kt");
        }

        @Test
        @TestMetadata("tryFinally.kt")
        public void testTryFinally() {
          runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/good/callsInPlace/tryFinally.kt");
        }

        @Test
        @TestMetadata("unknown.kt")
        public void testUnknown() {
          runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/good/callsInPlace/unknown.kt");
        }
      }

      @Nested
      @TestMetadata("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/good/returnsImplies")
      @TestDataPath("$PROJECT_ROOT")
      public class ReturnsImplies {
        @Test
        public void testAllFilesPresentInReturnsImplies() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/good/returnsImplies"), Pattern.compile("^(.+)\\.kt$"), null, true);
        }

        @Test
        @TestMetadata("baseConditions.kt")
        public void testBaseConditions() {
          runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/good/returnsImplies/baseConditions.kt");
        }

        @Test
        @TestMetadata("booleanOperators.kt")
        public void testBooleanOperators() {
          runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/good/returnsImplies/booleanOperators.kt");
        }

        @Test
        @TestMetadata("conditionLogic.kt")
        public void testConditionLogic() {
          runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/good/returnsImplies/conditionLogic.kt");
        }

        @Test
        @TestMetadata("eqNotEq.kt")
        public void testEqNotEq() {
          runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/good/returnsImplies/eqNotEq.kt");
        }

        @Test
        @TestMetadata("inapplicable.kt")
        public void testInapplicable() {
          runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/good/returnsImplies/inapplicable.kt");
        }

        @Test
        @TestMetadata("namedArguments.kt")
        public void testNamedArguments() {
          runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/good/returnsImplies/namedArguments.kt");
        }

        @Test
        @TestMetadata("notNull.kt")
        public void testNotNull() {
          runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/good/returnsImplies/notNull.kt");
        }

        @Test
        @TestMetadata("propertyAccessors.kt")
        public void testPropertyAccessors() {
          runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/good/returnsImplies/propertyAccessors.kt");
        }

        @Test
        @TestMetadata("receivers.kt")
        public void testReceivers() {
          runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/good/returnsImplies/receivers.kt");
        }

        @Test
        @TestMetadata("safeCall.kt")
        public void testSafeCall() {
          runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/good/returnsImplies/safeCall.kt");
        }

        @Test
        @TestMetadata("trickyCases.kt")
        public void testTrickyCases() {
          runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/good/returnsImplies/trickyCases.kt");
        }

        @Test
        @TestMetadata("typeParameterFunction.kt")
        public void testTypeParameterFunction() {
          runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/good/returnsImplies/typeParameterFunction.kt");
        }

        @Test
        @TestMetadata("typeParameterProperty.kt")
        public void testTypeParameterProperty() {
          runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/good/returnsImplies/typeParameterProperty.kt");
        }

        @Test
        @TestMetadata("typePredicate.kt")
        public void testTypePredicate() {
          runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/good/returnsImplies/typePredicate.kt");
        }
      }

      @Nested
      @TestMetadata("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/good/variousContracts")
      @TestDataPath("$PROJECT_ROOT")
      public class VariousContracts {
        @Test
        public void testAllFilesPresentInVariousContracts() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/good/variousContracts"), Pattern.compile("^(.+)\\.kt$"), null, true);
        }

        @Nested
        @TestMetadata("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/good/variousContracts/newSyntax")
        @TestDataPath("$PROJECT_ROOT")
        public class NewSyntax {
          @Test
          public void testAllFilesPresentInNewSyntax() {
            KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/good/variousContracts/newSyntax"), Pattern.compile("^(.+)\\.kt$"), null, true);
          }

          @Test
          @TestMetadata("functionsWithContract.kt")
          public void testFunctionsWithContract() {
            runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/contracts/good/variousContracts/newSyntax/functionsWithContract.kt");
          }
        }
      }
    }
  }

  @Nested
  @TestMetadata("analysis/low-level-api-fir/testData/getOrBuildFirBinary/js")
  @TestDataPath("$PROJECT_ROOT")
  public class Js {
    @Test
    public void testAllFilesPresentInJs() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/low-level-api-fir/testData/getOrBuildFirBinary/js"), Pattern.compile("^(.+)\\.kt$"), null, true);
    }

    @Test
    @TestMetadata("classAnnotation.kt")
    public void testClassAnnotation() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/js/classAnnotation.kt");
    }

    @Test
    @TestMetadata("constructorAnnotation.kt")
    public void testConstructorAnnotation() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/js/constructorAnnotation.kt");
    }

    @Test
    @TestMetadata("dynamic.kt")
    public void testDynamic() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/js/dynamic.kt");
    }

    @Test
    @TestMetadata("enumAnnotation.kt")
    public void testEnumAnnotation() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/js/enumAnnotation.kt");
    }

    @Test
    @TestMetadata("fileJsModule.kt")
    public void testFileJsModule() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/js/fileJsModule.kt");
    }

    @Test
    @TestMetadata("functionAnnotation.kt")
    public void testFunctionAnnotation() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/js/functionAnnotation.kt");
    }

    @Test
    @TestMetadata("jQueryExample.kt")
    public void testJQueryExample() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/js/jQueryExample.kt");
    }

    @Test
    @TestMetadata("parameterAnnotation.kt")
    public void testParameterAnnotation() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/js/parameterAnnotation.kt");
    }

    @Test
    @TestMetadata("propertyAnnotation.kt")
    public void testPropertyAnnotation() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/js/propertyAnnotation.kt");
    }

    @Test
    @TestMetadata("propertyFromAnnotation.kt")
    public void testPropertyFromAnnotation() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/js/propertyFromAnnotation.kt");
    }

    @Test
    @TestMetadata("propertyFromAnnotationWithDefaultValue.kt")
    public void testPropertyFromAnnotationWithDefaultValue() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/js/propertyFromAnnotationWithDefaultValue.kt");
    }

    @Test
    @TestMetadata("typeAnnotation.kt")
    public void testTypeAnnotation() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/js/typeAnnotation.kt");
    }

    @Test
    @TestMetadata("typeParameterAnnotation.kt")
    public void testTypeParameterAnnotation() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/js/typeParameterAnnotation.kt");
    }
  }

  @Nested
  @TestMetadata("analysis/low-level-api-fir/testData/getOrBuildFirBinary/mustUseReturnValue")
  @TestDataPath("$PROJECT_ROOT")
  public class MustUseReturnValue {
    @Test
    public void testAllFilesPresentInMustUseReturnValue() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/low-level-api-fir/testData/getOrBuildFirBinary/mustUseReturnValue"), Pattern.compile("^(.+)\\.kt$"), null, true);
    }

    @Test
    @TestMetadata("ignorableFunctionsChecker.kt")
    public void testIgnorableFunctionsChecker() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/mustUseReturnValue/ignorableFunctionsChecker.kt");
    }

    @Test
    @TestMetadata("ignorableFunctionsCheckerOverriding.kt")
    public void testIgnorableFunctionsCheckerOverriding() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/mustUseReturnValue/ignorableFunctionsCheckerOverriding.kt");
    }

    @Test
    @TestMetadata("ignorableFunctionsFull.kt")
    public void testIgnorableFunctionsFull() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/mustUseReturnValue/ignorableFunctionsFull.kt");
    }

    @Test
    @TestMetadata("ignorableFunctionsFullOverriding.kt")
    public void testIgnorableFunctionsFullOverriding() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/mustUseReturnValue/ignorableFunctionsFullOverriding.kt");
    }

    @Test
    @TestMetadata("markedFullEnabled.kt")
    public void testMarkedFullEnabled() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/mustUseReturnValue/markedFullEnabled.kt");
    }

    @Test
    @TestMetadata("markedFunctionFullEnabled.kt")
    public void testMarkedFunctionFullEnabled() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/mustUseReturnValue/markedFunctionFullEnabled.kt");
    }

    @Test
    @TestMetadata("markedFunctionHalfEnabled.kt")
    public void testMarkedFunctionHalfEnabled() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/mustUseReturnValue/markedFunctionHalfEnabled.kt");
    }

    @Test
    @TestMetadata("markedPropertyFullEnabled.kt")
    public void testMarkedPropertyFullEnabled() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/mustUseReturnValue/markedPropertyFullEnabled.kt");
    }

    @Test
    @TestMetadata("markedPropertyHalfEnabled.kt")
    public void testMarkedPropertyHalfEnabled() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/mustUseReturnValue/markedPropertyHalfEnabled.kt");
    }

    @Test
    @TestMetadata("mustUseReturnValueHalfEnabled.kt")
    public void testMustUseReturnValueHalfEnabled() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/mustUseReturnValue/mustUseReturnValueHalfEnabled.kt");
    }

    @Test
    @TestMetadata("unmarkedFullEnabled.kt")
    public void testUnmarkedFullEnabled() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/mustUseReturnValue/unmarkedFullEnabled.kt");
    }

    @Test
    @TestMetadata("unmarkedFunctionFullEnabled.kt")
    public void testUnmarkedFunctionFullEnabled() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/mustUseReturnValue/unmarkedFunctionFullEnabled.kt");
    }

    @Test
    @TestMetadata("unmarkedFunctionHalfEnabled.kt")
    public void testUnmarkedFunctionHalfEnabled() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/mustUseReturnValue/unmarkedFunctionHalfEnabled.kt");
    }

    @Test
    @TestMetadata("unmarkedPropertyFullEnabled.kt")
    public void testUnmarkedPropertyFullEnabled() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/mustUseReturnValue/unmarkedPropertyFullEnabled.kt");
    }

    @Test
    @TestMetadata("unmarkedPropertyHalfEnabled.kt")
    public void testUnmarkedPropertyHalfEnabled() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/mustUseReturnValue/unmarkedPropertyHalfEnabled.kt");
    }
  }

  @Nested
  @TestMetadata("analysis/low-level-api-fir/testData/getOrBuildFirBinary/publishedApi")
  @TestDataPath("$PROJECT_ROOT")
  public class PublishedApi {
    @Test
    public void testAllFilesPresentInPublishedApi() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/low-level-api-fir/testData/getOrBuildFirBinary/publishedApi"), Pattern.compile("^(.+)\\.kt$"), null, true);
    }

    @Test
    @TestMetadata("publishedApiClass.kt")
    public void testPublishedApiClass() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/publishedApi/publishedApiClass.kt");
    }

    @Test
    @TestMetadata("publishedApiConstructor.kt")
    public void testPublishedApiConstructor() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/publishedApi/publishedApiConstructor.kt");
    }

    @Test
    @TestMetadata("publishedApiFunction.kt")
    public void testPublishedApiFunction() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/publishedApi/publishedApiFunction.kt");
    }

    @Test
    @TestMetadata("publishedApiPrimaryConstructor.kt")
    public void testPublishedApiPrimaryConstructor() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/publishedApi/publishedApiPrimaryConstructor.kt");
    }

    @Test
    @TestMetadata("publishedApiProperty.kt")
    public void testPublishedApiProperty() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/publishedApi/publishedApiProperty.kt");
    }

    @Test
    @TestMetadata("publishedApiPropertyGetter.kt")
    public void testPublishedApiPropertyGetter() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/publishedApi/publishedApiPropertyGetter.kt");
    }

    @Test
    @TestMetadata("publishedApiPropertySetter.kt")
    public void testPublishedApiPropertySetter() {
      runTest("analysis/low-level-api-fir/testData/getOrBuildFirBinary/publishedApi/publishedApiPropertySetter.kt");
    }
  }
}
